/*
 * BitacoraFachada.java
 * Intuition Technologies. Todos los derechos reservados.
 */
package mx.com.asteca.fachada;

import java.util.List;

import mx.com.asteca.comun.dto.BitacoraDTO;

/**
 * Interfaz para la fachada de negocio para Bitacora
 * 
 * @author Jorge Amaro Coria
 * @version 1.0
 * @since 1.0
 * 
 */
public interface BitacoraFachada extends BaseFachada<BitacoraDTO, Long> {

	/**
	 * Obtiene una lista de registros de la bitacora filtrados por accion
	 * 
	 * @param accion
	 * @return
	 * @throws FachadaException
	 */
	List<BitacoraDTO> findByAccion(String accion) throws FachadaException;

	/**
	 * Obtiene una lista de registros de la bitacora filtrados por id de usuario
	 * 
	 * @param idUsuario
	 * @return
	 * @throws FachadaException
	 */
	List<BitacoraDTO> findByIdUsuario(int idUsuario) throws FachadaException;

	/**
	 * Obtiene una lista de registros de la bitacora filtrados por id de usuario
	 * y accion
	 * 
	 * @param idUsuario
	 * @param accion
	 * @return
	 * @throws FachadaException
	 */
	List<BitacoraDTO> findByIdUsuarioAndAccion(int idUsuario, String accion)
			throws FachadaException;

	List<BitacoraDTO> findDistinctAccion() throws FachadaException;

	List<BitacoraDTO> findDistinctUsuario() throws FachadaException;

}
